﻿using System.ComponentModel;

namespace WpfAGVSystem.Model
{
    public enum AGVLocateStateEnum
    {
        Fail = 0,//失败
        //定位正确
        LocateCorrect = 1,
        //正在重新定位
        ReLocating = 2,
        //定位完成
        LocateDone = 3,

    }
    public enum AGVNavigateStateEnum
    {
        None = 0,
        WaitForNavExe,
        Navigating,
        NavPause,
        Arrived,
        Failed,
        Canceled,
        Timeout,
    }
    public enum AGVNavigateModeEnum
    {
        None = 0,
        FreeNavToAnyPt,
        FreeNavToStation,
        PathNavToStation,
        DrillIntoShelf,//钻货架
        Follow,
        FlapMove_Rotate,
        MaganeticNav,
        Other = 100,

    }
    public enum AGVMapLoadStateEnum
    {
        LoadMapFailed = 0,
        LoadMapSucceed,
        Loading,
    }
    public enum AGVDispatchingStateEnum
    {
        SingleMode = 0,
        DispatchingMode,
        DispatchingMode_LostConnection,
    }
    public enum AGVObstacleEnum
    {
        UltrasoundSensor = 0,
        LaserDetector,
        FallStopSensor,
        CollisionSensor,
        InfraredSensor,
        AGVLockSwitch,
        DynamicObstacle,
        VirtualLaserPt,
        Camera3D = 8,
    }
    public enum JackingStateEnum
    {
        Rising = 0,
        RiseDone,
        Descending,//下降
        DescendDone,
        Stop,
        Failed = 0xff,
    }
    public enum RollerStateEnum
    {
        Waiting = 0,
        Executing,
        Done,
        Failed = 0xff
    }
    public enum SRC_ModeEnum
    {
        ControlMode,
        MonitorMode,
    }
    public enum Move_Rotate_ModeEnum
    {
        //里程模式
        MileageMode = 0,
        //定位模式
        LocateMode
    }

    //用户触发AGV执行某些指令的值
    public enum AGVTriggerEnum
    {
        None = 0,
        Action = 1
    }
    public enum NextStationEnum
    {
        PathDone,
        Wait,
        NewStation,
    }
   
    public enum TaskExcuteAction
    {
        [Description("未知")]
        Unknown,
        [Description("取料")]
        Reclaimer,
        [Description("放料")]
        Unwind,
        [Description("充电")]
        Charge,
        [Description("休息")]
        Rest,
        [Description("去某站")]
        GotoStation,
    }

}
